Adaptive loop transformations for scientific programs
نویسندگان
چکیده
To facilitate the eecient execution of scientiic programs , parallelizing compilers apply a wide range of loop transformations. In some situations it may not be possible to determine the applicability and usefulness of the transformations at compile-time. In this paper we develop adaptive versions of various loop transformations which lend themselves to eecient application at run-time. Instead of explicitly applying a transformation at compile-time, we generate adaptive code which is able to behave like the transformed code, if so desired, at run-time. Therefore an adaptive program can be viewed as expressing multiple ways of executing a program. The selection of the particular execution is based upon run-time information. Adaptive programs ooer a more practical and powerful alternative to mul-tiversion programs.
منابع مشابه
Increasing Perfect Nests in Scientific Programs
Loop optimizations for data locality often require perfect loop nests. In this paper, we report on the extent to which perfect nests are present in 23 applications from 4 standard benchmark suites. Further, we evaluate the effectiveness of 3 transformations for converting imperfect nests into perfect ones: code sinking loop distribution and loop fusion. We find that on average, perfect nests co...
متن کاملEfficient Automatic Verification of Loop and Data-flow Transformations by Functional Equivalence Checking
Thesis — Automatic and efficient verification of loop and data-flow transformations commonly applied while optimizing digital signal processing and scientific computing programs is feasible by functional equivalence checking of the original and transformed programs. Application of transformations, in general, is known to enable efficient implementation of programs. For resource constrained embe...
متن کاملPolyhedral Abstract Interpretation
The polyhedral model is a collection of techniques developed around a common intermediate representation of programs : integer polyhedra. Such a mathematical representation of programs inherits nice structural properties. For instance, when loop transformations are represented as affine functions, compositions of transformations are also affine functions due to their closure properties. The pol...
متن کاملA Framework for Interprocedural Locality Optimization Using Both Loop and Data Layout Transformations
There has been much work recently on improving the locality performance of loop nests in scientific programs through the use of loop as well as data layout optimizations. However, little attention has been paid to the problem of optimizing locality in whole programs, particularly in the presence of procedures. Current techniques do not propagate layout optimizations across procedures boundaries...
متن کاملLocality-enhancing loop transformations for parallel tree traversal algorithms
Exploiting locality is critical to achieving good performance. For regular programs, which operate on dense arrays and matrices, techniques such as loop interchange and tiling have long been known to improve locality and deliver improved performance. However, there has been relatively little work investigating similar locality-improving transformations for irregular programs that operate on tre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1995